const joi  = require('joi')

// 新增文章分类的验证规则
const name = joi.string().required().error(errors=>{
    for (err of errors){
        switch (err.code) {
            case 'string.empty':
                return new joi.ValidationError('分类名称不能为空')
            case 'any.required':
                return new joi.ValidationError('必须提交分类名称')
        }
    }
})

const alias = joi.string().alphanum().required().error(errors=>{
    for (err of errors){
        switch (err.code) {
            case 'string.alphanum':
                return new joi.ValidationError('分类别名只能包含a-zA-Z0-9')
            case 'string.empty':
                return new joi.ValidationError('分类别名不能为空')
            case 'any.required':
                return new joi.ValidationError('必须提交分类别名')
        }
    }
})

//定义文章分类id的验证规则
const id = joi.number().integer().min(1).required().error(errors=>{
    for (err of errors){
        switch (err.code) {
            case 'number.base':
                return new joi.ValidationError('文章分类id必须为数字')
            case 'number.min':
                return new joi.ValidationError('文章分类id必须大于1')
            case 'number.integer':
                return new joi.ValidationError('文章分类id必须为整数')
            case 'any.required':
                return new joi.ValidationError('必须提交文章分类id')
        }
    }
})



// 验证规则对象--更新头像
exports.add_cate_schema = {
    body: {
        name,
        alias
    }
}


// 验证规则对象--删除分类接口
exports.delete_cate_schema = {
    params: {
        id
    }
}


// 验证规则对象--根据id获取文章分类接口
exports.get_cate_schema = {
    params: {
        id
    }
}


// 验证规则对象--根据id更新文章分类数据接口
exports.update_cate_schema = {
    body: {
        Id: id,
        name,
        alias
    }
}